class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        if (digits.size()==0) return vector<int>();
        bool isAll9=true;
        for (int i=0;i<digits.size() && isAll9;i++) isAll9&=(digits[i]==9);
        if (isAll9) {
            vector<int> ret(digits.size()+1, 0);
            ret[0]=1;
            return ret;
        }
        vector<int> ret(digits);
        for (int i=ret.size()-1,g=1;i>=0;i--) {
            g=g+ret[i];
            ret[i]=g%10;
            g/=10;
        }
        return ret;
    }
};
